import { mergeConfig } from "vite";
import baseConfig from "./vite.config.base";
import configCompressPlugin from "./plugin/compress";
import configVisualizerPlugin from "./plugin/visualizer";
import configArcoResolverPlugin from "./plugin/arcoResolver";
import configStyleImportPlugin from "./plugin/styleImport";
import configImageminPlugin from "./plugin/imagemin";

export default mergeConfig(
  {
    mode: "production",
    plugins: [
      configCompressPlugin("gzip"),
      configVisualizerPlugin(),
      configStyleImportPlugin(),
      configImageminPlugin(),
    ],
    build: {
      rollupOptions: {
        output: {
          manualChunks: {
            chart: ["echarts", "vue-echarts"],
            vue: ["vue", "vue-router", "pinia", "@vueuse/core", "vue-i18n"],
          },
        },
      },
      chunkSizeWarningLimit: 2000,
    },
  },
  baseConfig
);
